﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GestionRecaudos
{
    public partial class FrmAdministrarLogEventos : Form
    {
        public FrmAdministrarLogEventos()
        {
            InitializeComponent();
        }

        private void FrmLogEventos_Load(object sender, EventArgs e)
        {   
            // TODO: esta línea de código carga datos en la tabla 'GestionRecaudosDataSet.spSeguridadUsuario' Puede moverla o quitarla según sea necesario.
            this.spSeguridadUsuarioTableAdapter.Fill(this.GestionRecaudosDataSet.spSeguridadUsuario);

            // TODO: esta línea de código carga datos en la tabla 'GestionRecaudosDataSet.spSeguridadLogEventos' Puede moverla o quitarla según sea necesario.
            this.spSeguridadLogEventosTableAdapter.Fill(this.GestionRecaudosDataSet.spSeguridadLogEventos);

            // TODO: Cargo la lista de eventos en el combobox que corresponde.
            this.spSeguridadLogEventosTableAdapter.FillBy(
                this.GestionRecaudosspListaEventosDataSet.spSeguridadLogEventos,
                "ListarEventosLog",
                "",
                null,
                null,
                null,
                null,
                null,
                null
                );

            //-- Blanquear Campos
            //Utils.get().blanquearCampos(this);
        }

        #region Eventos asociados a los botones del BindingNavigator

        private void exportar_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            try { Utils.get().exportar(this.spSeguridadLogEventosDataGridView); }
            catch (Exception ex) { MessageException.show(ex); }
            Cursor.Current = Cursors.Default;
        }

        private void actualizar_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            ManageForms.reloadForm(this);
            Cursor.Current = Cursors.Default;
        }

        private void filter_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            BindingSource bs = ((BindingNavigator)((ToolStripButton)sender).GetCurrentParent()).BindingSource;
            try
            {
                bs.RemoveFilter();
                this.toolStripTextBox1.Text = string.Empty;
            }
            catch (Exception ex)
            {
                MessageException.show(ex);
                bs.CancelEdit();
            }
            Cursor.Current = Cursors.Default;
        }

        private void filterText_TextChanged(object sender, EventArgs e)
        {
            this.filtroEventoComboBox.SelectedIndex = 0;

            Cursor.Current = Cursors.WaitCursor;
            BindingSource bs = ((BindingNavigator)((ToolStripTextBox)sender).GetCurrentParent()).BindingSource;
            DataTable table = ((DataSet)bs.DataSource).Tables[bs.DataMember];
            ToolStripTextBox tb = (ToolStripTextBox)sender;
            try
            {
                String filtro = "";
                foreach (DataColumn cl in table.Columns)
                {
                    filtro += "ISNULL(" + cl.ColumnName.ToString() + ",'')+' '+";
                }
                filtro = filtro.Substring(0, filtro.Length - 5);
                filtro += " like'%" + tb.Text + "%'";
                //MessageBox.Show(filtro);
                bs.Filter = filtro;
            }
            catch (Exception ex)
            {
                MessageException.show(ex);
                bs.CancelEdit();
            }
            Cursor.Current = Cursors.Default;
        }

        #endregion

        private void filtroEventoComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {            
            if (this.filtroEventoComboBox.Text.Trim().Equals(string.Empty) || this.filtroEventoComboBox.Text.Equals("TODOS"))
            {
                this.spSeguridadLogEventosBindingSource.RemoveFilter();
            }
            else
            {
                this.spSeguridadLogEventosBindingSource.Filter = "EVENTO ='" + this.filtroEventoComboBox.Text + "'";
            }
        }
    }
}
